@echo off
chcp 65001 > nul
title 强制终止端口占用进程

echo ====================================
echo     强制终止端口占用进程
echo ====================================
echo.

echo [1/3] 查找占用端口4000的进程...
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :4000 ^| findstr LISTENING') do (
    echo 发现进程 %%a 占用端口4000
    taskkill /f /pid %%a 2>nul && echo ✅ 已终止进程 %%a || echo ❌ 终止进程 %%a 失败
)

echo.
echo [2/3] 查找占用端口5001的进程...
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :5001 ^| findstr LISTENING') do (
    echo 发现进程 %%a 占用端口5001
    taskkill /f /pid %%a 2>nul && echo ✅ 已终止进程 %%a || echo ❌ 终止进程 %%a 失败
)

echo.
echo [3/3] 查找占用端口8102的进程...
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :8102 ^| findstr LISTENING') do (
    echo 发现进程 %%a 占用端口8102
    taskkill /f /pid %%a 2>nul && echo ✅ 已终止进程 %%a || echo ❌ 终止进程 %%a 失败
)

echo.
echo [清理] 强制停止所有Node.js和Python进程...
taskkill /f /im node.exe 2>nul
taskkill /f /im python.exe 2>nul

echo.
echo [检查] 验证端口释放情况...
echo 端口4000状态:
netstat -ano | findstr :4000 || echo ✅ 端口4000已释放
echo.
echo 端口5001状态:
netstat -ano | findstr :5001 || echo ✅ 端口5001已释放
echo.
echo 端口8102状态:
netstat -ano | findstr :8102 || echo ✅ 端口8102已释放

echo.
echo 🎉 端口清理完成！现在可以重新启动服务了。
echo.
pause
